ADO+navrat ID

Otázka od: Ales Pavel

7. 9. 2004 10:05

Ahoj v ADO nejsem zadnej mistr a tak potrebuji radu. Potrebuji vracet
pri insertu ID zaznamu (pripadne jine hodnoty naplnene pres triggery pri
insertu)jak to udelam,pripomenu ze pracuji na MSSQLServeru. Jakou
komponentu pouzit a jak co nastavit 

Diky moc

_________________________________________
Ales Pavel
ICQ: 44615538
More ways to contact me: http://wwp.icq.com/44615538
_________________________________________


Odpovedá: jtomas@ebanka.cz

7. 9. 2004 10:53

Zkus to pres vlozenou proceduru a kod napsat v SQL.



                                                                                

                    "Ales Pavel"

                    <aldik@quick.cz> To: delphi-l@clexpert.cz

                    Sent by: cc:

                    delphi-l-owner@c Subject: ADO+navrat ID

                    lexpert.cz

                                      
                                                                                

                    07.09.2004 11:05

                    Please respond

                    to delphi-l

                                      
                                                                                





Ahoj v ADO nejsem zadnej mistr a tak potrebuji radu. Potrebuji vracet
pri insertu ID zaznamu (pripadne jine hodnoty naplnene pres triggery pri
insertu)jak to udelam,pripomenu ze pracuji na MSSQLServeru. Jakou
komponentu pouzit a jak co nastavit 

Diky moc

_________________________________________
Ales Pavel
ICQ: 44615538
More ways to contact me: http://wwp.icq.com/44615538
_________________________________________





Odpovedá: Ales Pavel

7. 9. 2004 11:00

To jsem nechtel...mno ale co se da delat jine reseni asi neni.....
Nechtel jsem kvuli kazdemu jednoduchemu insertu delat proceduru..
A.

> Zkus to pres vlozenou proceduru a kod napsat v SQL.
>
>


Odpovedá: Petr Langer

7. 9. 2004 12:11

ahoj,
to samozrejme nemusis. Predpokladam, ze tve ID je Identity column. Bezne
delam v jednom commandu INSERT INTO ... ; SELECT SCOPE_IDENTITY() as ID

HTH,
    pl


----- Original Message -----
From: "Ales Pavel" <aldik@quick.cz>
Subject: Re: ADO+navrat ID


> To jsem nechtel...mno ale co se da delat jine reseni asi neni.....
> Nechtel jsem kvuli kazdemu jednoduchemu insertu delat proceduru..
> A.
>
>> Zkus to pres vlozenou proceduru a kod napsat v SQL.


Odpovedá: Bohdan Voska

7. 9. 2004 12:22

Mohlo by pomoct do afterpost dat toto,

 AdoDataset.Recordset.resync(adAffectCurrent, adResyncAllValues);


Bohdan Voska


----- Original Message -----
From: "Ales Pavel" <aldik@quick.cz>
To: <delphi-l@clexpert.cz>
Sent: Tuesday, September 07, 2004 10:37 AM
Subject: Re: ADO+navrat ID


> To jsem nechtel...mno ale co se da delat jine reseni asi neni.....
> Nechtel jsem kvuli kazdemu jednoduchemu insertu delat proceduru..
> A.
>
> > Zkus to pres vlozenou proceduru a kod napsat v SQL.
> >
> >
>
>
>


Odpovedá: Lstiburek Pavel

7. 9. 2004 12:26

Pokud je to v triggeru, tak tento skript selze a je nutno pouzit neco jako
SELECT @@IDENTITY as ID, coz vrati hodnotu vlozenou do posledniho identity
sloupce (libovolne tabulky).
Dale je dobre si zkontrolovat zda se vubec neco vlozilo, jinak je v obou
pripadech vracena hodnota z minuleho insertu.
Pokud je vkladas do ID hodnotu pomoci nejakeho generatoru, je jedna blba
moznost pomoci RAISERROR s nizkou severity, jinak celkem nic.
Pavel

From: Petr Langer [mailto:langer@xdom.cz]
to samozrejme nemusis. Predpokladam, ze tve ID je Identity column. Bezne
delam v jednom commandu INSERT INTO ... ; SELECT SCOPE_IDENTITY() as ID


Odpovedá: Petr Langer

7. 9. 2004 13:38

Jiste, ale naopak pokud se jeho INSERTem (pro ktery potrebuje ID) vyvola
trigger ktery treba insertuje do jine tabulky s identity sloupcem, tak mu
@@IDENTITY vrati nesmysl  

Z puvodniho dotazu mi nejak tak vyplynulo, ze mu jde o hodnotu ID z INSERTu,
ktery chce vykonat dynamicky, takze SCOPE_IDENTITY() je podle mne spise to,
co hleda.

pl

----- Original Message -----
From: "Lstiburek Pavel" <lstiburek@ceb.cz>
Subject: Re: ADO+navrat ID


> Pokud je to v triggeru, tak tento skript selze a je nutno pouzit neco jako
> SELECT @@IDENTITY as ID, coz vrati hodnotu vlozenou do posledniho identity
> sloupce (libovolne tabulky).
> Dale je dobre si zkontrolovat zda se vubec neco vlozilo, jinak je v obou
> pripadech vracena hodnota z minuleho insertu.
> Pokud je vkladas do ID hodnotu pomoci nejakeho generatoru, je jedna blba
> moznost pomoci RAISERROR s nizkou severity, jinak celkem nic.
> Pavel
>
> From: Petr Langer [mailto:langer@xdom.cz]
> to samozrejme nemusis. Predpokladam, ze tve ID je Identity column. Bezne
> delam v jednom commandu INSERT INTO ... ; SELECT SCOPE_IDENTITY() as ID